package com.kcht.itsed.mws.alefacade.stdfacade;

import com.kcht.itsed.mws.alefacade.exceptions.*;
import com.kcht.itsed.mws.alemodel.EPCCacheSpec;
import com.kcht.itsed.mws.alemodel.EPCPatternList;

import java.util.List;

interface ALECC_EPCCache {

	
	void defineEPCCache(String cacheName, EPCCacheSpec spec, EPCPatternList replenishment)throws DuplicateNameException ,EPCCacheSpecValidationException ,InvalidPatternException;

	EPCPatternList undefineEPCCache(String cacheName)throws NoSuchNameException, InUseException ;

	EPCCacheSpec getEPCCache(String cacheName)throws NoSuchNameException;

	List<String> getEPCCacheNames();

	void replenishEPCCache(String cacheName, EPCPatternList replenishment)throws NoSuchNameException, InvalidPatternException;
	
	EPCPatternList depleteEPCCache(String cacheName)throws NoSuchNameException;
	
	EPCPatternList getEPCCacheContents(String cacheName)throws NoSuchNameException;
	
}
